#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QNetworkReply>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QMessageBox>
#include <QSqlError>
#include <QLineEdit>
#include <QMap>
#include "day.h"
QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
    Day days[7];//创建7天的天气对象
    void mousePressEvent(QMouseEvent *event);
    void mouseMoveEvent(QMouseEvent *event);
    void parseJson(QByteArray data);
    void parseJsonSeven(QByteArray data);
public slots:
    void replyFinished(QNetworkReply *reply);


private slots:
    void on_pushButton_clicked();

private:
    Ui::MainWindow *ui;
    QPoint moveOffset;
    QNetworkAccessManager *manager;//网络请求管理器
    QNetworkReply *reply;//网络请求,用于获取数据
    QMap<QString, QString> imgMap;
    void createMap();
    void initDatabase() {
        QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); // 根据实际使用的数据库类型修改
        db.setHostName("127.0.0.1");
        db.setPort(3306);
        db.setDatabaseName("city");
        db.setUserName("root"); // 用户名
        db.setPassword("162210413Gzh"); // 密码

        if (!db.open()) {
             qDebug() << db.lastError().text();
        }
        else{
            qDebug() << "成功链接到数据库";
        }
    };
    QString getCityId(const QString &cityName) {
        QString cityId;
        QSqlQuery query;//创建查询对象
        if (query.exec(QString("SELECT id FROM city WHERE cityZh = '%1'").arg(cityName))) {
            if (query.next()) {
                cityId = query.value(0).toString().mid(2);
                return cityId;
            }
        } else {
            qDebug() << "Query execution failed:" << query.lastError().text();
        }

    }
};

#endif // MAINWINDOW_H
